@code for (entry = dvb_file->first_entry; entry != NULL; entry = entry->next) { struct dvb_v5_descriptors *dvb_scan_handler = NULL;
dvb_scan_handler = dvb_scan_transponder(parms, entry, dmx_fd, &check_frontend, args, args->other_nit, args->timeout_multiply); if (parms->abort) { dvb_scan_free_handler_table(dvb_scan_handler); break; } if (dvb_scan_handler) { dvb_store_channel(&dvb_file_new, parms, dvb_scan_handler, args->get_detected, args->get_nit); dvb_scan_free_handler_table(dvb_scan_handler);
dvb_add_scaned_transponders(parms, dvb_scan_handler, dvb_file->first_entry, entry);
dvb_scan_free_handler_table(dvb_scan_handler); } } @endcode
@brief Add new transponders to a dvb_file @ingroup frontend_scan
@param parms pointer to struct dvb_v5_fe_parms created when the frontend is opened @param dvb_scan_handler pointer to a struct dvb_v5_descriptors containing scaned MPEG-TS @param first_entry first entry of a DVB file struct @param entry current entry on a DVB file struct
When the NIT table is parsed, some new transponders could be described inside. This function adds new entries to a dvb_file struct, pointing to those new transponders. It is used inside the scan loop, as shown at the dvb_scan_transponder(), to add new channels.